package com.wgh.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wgh.product.entity.shop.ProductProductTag;

import java.util.List;

/**
 * 商品标签关联Service接口
 * 
 * @author AI Shop
 */
public interface ProductProductTagService extends IService<ProductProductTag> {

    /**
     * 根据商品ID查询关联的标签ID列表
     * 
     * @param productId 商品ID
     * @return 标签ID列表
     */
    List<Long> getTagIdsByProductId(Long productId);

    /**
     * 根据标签ID查询关联的商品ID列表
     * 
     * @param tagId 标签ID
     * @return 商品ID列表
     */
    List<Long> getProductIdsByTagId(Long tagId);

    /**
     * 批量添加商品标签关联
     * 
     * @param productProductTags 商品标签关联列表
     * @return 是否成功
     */
    boolean addBatch(List<ProductProductTag> productProductTags);

    /**
     * 根据商品ID删除商品标签关联
     * 
     * @param productId 商品ID
     * @return 是否成功
     */
    boolean deleteByProductId(Long productId);

    /**
     * 根据标签ID删除商品标签关联
     * 
     * @param tagId 标签ID
     * @return 是否成功
     */
    boolean deleteByTagId(Long tagId);

    /**
     * 根据商品ID和标签ID列表删除关联
     * 
     * @param productId 商品ID
     * @param tagIds 标签ID列表
     * @return 是否成功
     */
    boolean deleteByProductIdAndTagIds(Long productId, List<Long> tagIds);
}